Micron Document
SparkN0de-git

Node / ReticulumProjects / MeshChatX.git / files / docs / en / audio-calls.md

Displaying Raw • View renderedDownload

docs/en/audio-calls.md 7a02eae651e4ffbcebd359f86d665d3cf509b5d9 (7a02eae6) Text, 2.86 KB

Tc9d1d9# Audio calls (LXST)

MeshChatX uses LXST for voice telephony over Reticulum. Telephone functionality is optional and controlled per identity in settings.

Tc9d1d9## Enable telephony

Turn on **telephone** in settings before using the **Call** page. MeshChatX announces your callable destination under aspect Ta5d6ff`lxst.telephony` when announcing is enabled.

Peers who announce the same aspect appear as callable contacts.

Tc9d1d9## Placing and receiving calls

From **Call** or a contact entry you can:

Tff7b72- **Dial** another identity by hash
Tff7b72- **Answer** or **decline** inbound rings
Tff7b72- **Hang up** an active session
Tff7b72- **Mute** transmit or receive paths

Call state changes arrive over the WebSocket (Ta5d6ff`telephone_ringing`, Ta5d6ff`telephone_call_established`, Ta5d6ff`telephone_call_ended`, and related events).

Tc9d1d9## Audio path

The frontend loads Codec2 assets for voice encoding (Ta5d6ff`Codec2Loader.js`). Browser and Electron builds use a Web Audio bridge at Ta5d6ff`/ws/telephone/audio`. Packaged desktop builds bundle the backend that negotiates LXST sessions.

Tc9d1d9## Voicemail

When you miss a call, voicemail may be offered depending on settings:

Tff7b72- Record a custom greeting
Tff7b72- Upload or generate greeting audio
Tff7b72- Play back messages left for you

Voicemail events surface as Ta5d6ff`new_voicemail` on the WebSocket.

Tc9d1d9## Call history and recordings

The **Call** area keeps history of placed, received, and missed calls. You can record calls when the feature is enabled and policy allows storage on your device.

Tc9d1d9## Ringtones

Upload custom ringtones and assign them per contact. Default sounds are used when no override exists.

Tc9d1d9## Do not disturb and contacts-only

Settings support:

Tff7b72- **Do not disturb** to silence inbound rings
Tff7b72- **Contacts-only** mode to reject calls from unknown hashes

Combine these with the **Blocked** list for finer control.

Tc9d1d9## Telephone contacts

Import and export telephone contacts separately from LXMF conversation peers. Contacts drive caller display names and ringtone overrides.

Tc9d1d9## Call setup flow

Ta5d6ff```
Caller UI: initiate call
|
v
GET /api/v1/telephone/call/{identity_hash}
|
v
LXST Telephone session over Reticulum
|
+--> Signalling and media via LXST
|
+--> /ws/telephone/audio (browser audio bridge)
|
v
Callee UI: ring, answer, or decline
```

Tc9d1d9## Tips

Tff7b72- Verify **Interfaces** and paths before troubleshooting audio quality. Packet loss on the mesh affects voice.
Tff7b72- Use headphones on mobile and Quest builds to prevent echo.
Tff7b72- Review microphone permissions in Electron or the Android system settings if the UI shows no input level.
Tff7b72- Keep LXST and Reticulum versions aligned with MeshChatX release notes when upgrading.

Tc9d1d9## See also

Tff7b72- **LXMF messaging** for text conversations with the same peers
Tff7b72- **Identities, privacy, and security** for HTTPS and local access controls
Tff7b72- LXST project documentation for codec and session details

Served by rngit 1.5.2 - Generated in 0.08s